package com.hanthink.system.service.pc;

import java.util.List;

import com.hanthink.system.domain.pc.EmTask;

/**
 * 任务管理Service接口
 * 
 * @author hanthink
 * @date 2021-01-22
 */
public interface IEmTaskService 
{
    /**
     * 查询任务管理
     * 
     * @param taskCode 任务管理ID
     * @return 任务管理
     */
    EmTask selectEmTaskById(String taskCode);

    /**
     * 查询任务管理列表
     * 
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectEmTaskList(EmTask emTask);

    String selectEmTaskListPlus(String equipname);
    /**
     * 塑胶事业部二级审核抽取任务项数量
     * @param datestring
     * @return
     */
    List<EmTask> selectEmTaskListQA(String datestring);
    /**
     * 获取塑胶事业部月度抽取任务数量
     * @param datestring
     * @return
     */
    //List<EmTask> selectEmTaskListQA(String datestring);
    
    /**
     *随机抽取当班任务管理列表
     * 
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectRandomEmTaskList(EmTask emTask);

    /**
     * 根据部门id和当天时间查询有日任务设备清单
     * @param deptid 部门ic
     * @return 设备列表清单
     */
    List<String> selectEmTaskListbydatetimeanddeptid (String deptid);

    /**
     * 查询未完成任务管理列表
     * 
     * @param emTask 任务管理
     * @return 任务管理集合
     */
    List<EmTask> selectNoFinishEmTaskList(EmTask emTask);

    /**
     * 新增任务管理
     * 
     * @param emTask 任务管理
     * @return 结果
     */
    int insertEmTask(EmTask emTask);

    /**
     * 修改任务管理
     * 
     * @param emTask 任务管理
     * @return 结果
     */
    int updateEmTask(EmTask emTask,String username);

    /**
     * 批量删除任务管理
     * 
     * @param taskCodes 需要删除的任务管理ID
     * @return 结果
     */
    int deleteEmTaskByIds(String[] taskCodes,String username);

    /**
     * 删除任务管理信息
     * 
     * @param taskCode 任务管理ID
     * @return 结果
     */
    int deleteEmTaskById(String taskCode,String username);


    List<EmTask> selectRandomEmTaskListQC(EmTask task);
}
